The present invention relates generally to systems and methods for implementing storage virtualization in a data storage network, and more specifically to systems and methods of utilizing multiple storage devices in a network and managing the storage devices as single entity enabling storage to be utilized as a utility.
The role of data is changing. Its true value to a business and a computer system is being recognized. This change is driving the return of storage architecture to a data center model. In this model, disk storage is the nucleus of the computing system and is thereby centrally located in a controlled environment. This approach significantly lowers the costs associated with data management.
Storage virtualization has recently received considerable attention in the industry. It offers the ability to isolate a host from changes in the physical placement of storage. The result is a substantial reduction in support effort and end-user impact.
Traditionally, a Storage Virtualization Layer (SVL) referred to a level of abstraction implemented in software that servers use to divide available physical storage into virtual disks or volumes. Virtual volumes are used by the Operating System (OS) as if they were physical disks. In fact, it is generally impossible for an operating system to perceive them as anything but real disks. The Storage Virtualization Layer redirects or maps I/O requests made against a virtual disk to blocks in real storage. This direction/redirection means that changes in the physical location of storage blocks (to service access patterns, performance requirements, growth requirements or failure recovery) can be accommodated by a simple update of the virtual-to-real mappings.
A virtual volume can be created, expanded, deleted, moved and selectively presented independent of the storage subsystems on which it resides. Furthermore, a virtual volume may include storage space in different storage subsystems, each with different characteristics. Virtualization architectures will play a key role in solving centralization problems, enabling important functions such as storage sharing, data sharing, performance optimization, storage on demand, and data protection.
Current Approaches to Virtualization
Currently, storage providers and storage solution providers use a one-to-one method of virtualization where each virtual block of data is mapped to a single physical block of data. An example of such a traditional architecture is shown in FIG. 5a. 
Whenever an I/O operation to a virtual disk is requested, a translation from a virtual disk address (virtual disk+block) to a physical disk address (device set+block) occurs via an in-stream mechanism.
Virtualization allows reorganization of the physical storage underlying the virtual disks to occur in a non-disruptive fashion at any time. New physical disks can be added to the system, the virtual disk can grow, or the mapping from virtual to physical disks can change, at the discretion of the administrator, invisibly to the user. The one inviolate requirement is that every single virtual block is mapped onto the physical disk set.
There are generally three (3) main virtualization implementation methodologies currently employed in the storage industry: Host-Based, Storage-Based, and Network-Based.
The Host-Based approach relies on an agent, or management software installed on one or more host systems, to implement the control and administrative functionality of storage virtualization. The Storage-Based approach to virtualization relies on the storage subsystem to provide the functionality, while the Network-Based approach implements the storage virtualization functionality within equipment on the network (e.g., appliances, switches, routers). From an access control perspective, the Network-Based approach provides the greatest degree of access control to the client-server computers since conceivably all of the servers on the network have access to the same virtual storage functionality.
Storage Service Providers (SSPs) are developing large customer bases, potentially in the millions, so manageability, maintenance, and cost are major concerns. SSPs also have to provide for the data expansion requirements of their customers. Because it takes time to acquire, physically configure and/or re-partition disks, and to copy data to the new disks when storage needs change, expanding customer storage needs are often expensive and labor intensive. Additionally, customer separation, which ensures customer data remains secure and completely separate from the data of other storage customers, adds to the maintenance burden. With traditional “separation” mechanisms such as Logical Unit Number (LUN) masking, physical isolation, and separation of management, “customer separation” can quickly become unwieldy and impractical—creating a maintenance and support nightmare.
The foregoing has pushed the storage industry towards a new approach to virtualization, which allows for storage to be managed as a utility rather than as islands of storage that require individual care, but which is still synergistic with traditional approaches to virtualization.